
const util = require('../../utils/util.js');

Page({
   data: {
      winWidth: 0,
      winHeight: 0,
      // tab切换
      currentTab: 0,
      // 幻灯片数据
      topStories: [],
      // 精选数据
      datalist: [],
      // 日报数据
      dataThemes: [],
      dataListDateCurrent: 0,    // 当前日期current
      dataListDateCount: 0,      // 请求次数
      // 显示加载更多 loading
      hothidden: true,
      // loading
      hidden: true,
   },
   onReady: function () {
      wx.clearStorageSync();
   },
   onLoad: function (options) {
      var that = this;
      wx.getSystemInfo({
         success: function (res) {
            that.setData({
               winWidth: res.windowWidth,
               winHeight: res.windowHeight
            });
         }
      });

      // 显示 loading
      that.setData({
         hidden: false
      });

      // 请求 精选 列表（最新数据） news/latest
      util.AJAX("news/latest", function (res) {

         var arr = res.data;
         var format = util.getFormatDate(arr.date);

         arr["dateDay"] = format.dateDay;

         var list = that.data.datalist;

         // console.log(JSON.stringify(arr));

         // 重新写入数据
         that.setData({
            datalist: list.concat(arr),
            topStories: arr.top_stories,
            dataListDateCurrent: arr.date,    // 请求日期（昨天）
            dataListDateCount: 1
         });
      });

      // 请求日报数据
      util.AJAX("themes", function (res) {

         var arr = res.data.others;
         // console.log(JSON.stringify(arr));
         // 重新写入数据
         that.setData({
            dataThemes: arr,
         });
      });

   },
   onReady: function () {
      // 页面渲染完成
      var that = this;

      // 数据加载完成后 延迟隐藏loading
      setTimeout(function () {
         that.setData({
            hidden: true
         })
      }, 500);


   },
   // 自动加载更多
   scrolltolower: function (e) {

      var that = this;

      // 加载更多 loading
      that.setData({
         hothidden: true
      })

      var currentDate = this.data.dataListDateCurrent;

      // 限制请求次数
      if (this.data.dataListDateCount >= 3) {
         that.setData({
            hothidden: false
         });
      } else {
         // 解决 滚动到底部多次触发的BUG:通过记录请求的日期参数，如果已经请求过，就不再发起二次请求
         if (currentDate == wx.getStorageSync("currentDate")) {
            console.log('已发起过请求!');
         } else {
            console.log("当前日期：" + currentDate);
            console.log("请求次数：" + this.data.dataListDateCount);
            // 记录请求，避免重复加载
            wx.setStorageSync("currentDate", currentDate);

            // 请求 精选 列表（历史数据） news/before/
            util.AJAX("news/before/" + currentDate, function (res) {

               var arr = res.data;
               // console.log(JSON.stringify(res.data));
               var format = util.getFormatDate(arr.date);

               arr["dateDay"] = format.dateDay;

               // 获取当前数据进行保存
               var list = that.data.datalist;
               // 然后重新写入数据
               that.setData({
                  datalist: list.concat(arr),
                  dataListDateCurrent: arr.date, // 请求日期（昨天）
                  dataListDateCount: that.data.dataListDateCount + 1      // 统计加载次数
               });
            });
         }
      }
   },
   // 滑动切换tab
   bindChange: function (e) {
      var that = this;
      that.setData({ currentTab: e.detail.current });
   },
   // 点击tab切换
   swichNav: function (e) {
      var that = this;
      if (this.data.currentTab === e.target.dataset.current) {
         return false;
      } else {
         that.setData({
            currentTab: e.target.dataset.current
         })
      }
   },
})